# #创建集合set,set（）用来创建集合的函数,type（）用来查看数据类型
# #1，可以使用大写的括号来经行创建
# s={1,2,3,4}
# #2,使用set（）函数来经行创建
# ss=set('1234')
# print(type(s))
# print(type(ss))
#
# ##集合的添加和删除
# #添加元素
# s.add(5)
# print(s)
# #删除集合中的第一个代码
# s.pop()
# print(s)
# #删除集合中的元素
# s.remove(2)
# print(s)
##创建元组
#创建空元组
sos=()
print(sos)
#创建带有元素的元组，可以有元素类型
sus=(1,'a',2,'d')
print(sus)
#创建只有一个元素的元组
sis=(1,)
print(type(sis))

##使用tuplr()函数将其他数据类型转化为元组类型。
#语法格式：tuple(数据)
#将字符串转化成元组
sis=['ada','add','daf','dad','fda']
sos=tuple(sis)
print(sos)

#从开始索引开始截取，截取到结束索引之前。
sos=('s','f','d''gg')
##使用索引访问元组中的某个元素
#使用正数索引，从0开始
print(sos(2))
#使用负数索引，倒序从-1开始
print(sos(-3))

##使用切片访问元组中的一组元素，前闭后开
#使用正数切片
print(sos[1:3])
#指定步长
print(sos[1:4:2])
#使用负数切片
print(sos[-4:-1])

#修改元组元素
# tuple1 = (1,11,12)
# tuple2 = ('da','ad')
# #修改元祖是报错的
# tuple1[0]=100
# tuple1[0]=200
# #链接元组创建一个新的元组，两个数据必须都是元组
# tuple3=tuple2+tuple1
# print(tuple3)
##删除元组 del
# tuple4=('f','d','y'[1,2,3,4])
# print(tuple4)
# del tuple4

# print(tuple4)

#用input方式输入联系人姓名，电话，邮箱，地址；
# n=input('请输入姓名：')
# t=input('请输入电话：')
# e=input('请输入邮箱：')
# t=input('请输入地址：')
# t1=('姓名',n,"电话",t ,'邮箱',e ,'地址',t)
# print(t1)


#列表 list
#列表创建
#创建空列表
# l1 =[]
# print(l1)
# #创建空列表
# # # t4=list()
# # # print(t4)


# #使用list（）函数将其他类型数据转化为列表
# #将字符串转化为列表


# #创建带元素的列表
# l2 =[1,2,4,6,'python',5]
# print(l2)
# print(type(l2))
# #
# l3=list("hello")
# print(l3)
# #转化元组
# l5=tuple("hello")
# print(l5)


# #转化range函数
# r1=range(5)
# l5=list(r1)
# print(l5)


##访问列表的元素
##使用索引访问列表中的某个元素
# l1=[5,6,71,6,3,4]
# ##使用正数索引
# print(l1[2])
# ##使用负数索引
# print(l1[-1])
#
#使用切片形式访问列表中的元素
# l3=[1,88,55,44,66,33,22,77,99]
# #使用正数切片，截取索引为3,4,6的元素默认步长为一
# print(l3[2:7])
# #索取引3——5的元素，末尾
# print(l3[3:])
# #索引0-2的元素，开头
# print(l3[:3])
# #索引1-5，步长为2
# print(l3[1::2])
# #使用负切片，取三个
# print(l3[-3:])
# #使用负切片取-5到-1步长为2的元素
# print(l3[-5::2])
#
# ##遍历列表
# l4=[5,4,87,9,1,4,9898,4,4,56,]
# for i in l4:
#     print(i,end='')
# #修改列表元素
# #修改单个列表元素
# # ##将索引为2的元素值改为100
#
# l4[2]=100
#
# #修改多个元素
# l5=[44,5,87,9,63,42,7,]
# #修改地1-4个元素的值
# l5[1:4]=[55,66,77]
# print(l5)
#
# #列表添加元素
# #append()用于在列表的尾部追加元素
# l6=[8,7,3,2,4]
# l6.append(77)
# print(l6)
# #列表添加列表
# l6.append([55,999,747])
# print(l6)
##extend()在列表的末尾一次添加多个元素
# l13=[1,5,22]
# l13.extend('d')
# print(l13)
# #列表添加列表
# l13.extend([2,3,4,6,7,9,11,12])
# print(l13)
# l13.extend('woedz')
# print(l13)
#
# ##insert(在列表的特定位置添加想要添加的特定元素
# l14 =['python','c','ppp']
# #插入元素，在索引为2处插入go元素
# l14.insert(2,'go')
# print(l14)
#
# #删除列表元素
# #remove删除：remove()方法是删除列表里面的特点元素，但只会删除第一个和指定相同的元素，而且必须保证该元素是存在的，否则会引发错误
# l15 =[1,3,5,7,96,]
# l15.remove(1)
# print(l15)
#删除索引序号为q的元素
# l16=[1,3,6,7,9,3,1]
# #删除指定的索引
# l16.pop(5)
# print(l16)
# #删除最后一个
# l16.pop()
# print(l16)
# # #del可以用来删除列表中单个元素或者一段连续的元素
# # l15=[1,3,4,6,7,9,11,323,446]
# # #删除索引为1的元素
# # del l15[1]
# # print(15)
# # l16=[1,2,4,3,7,9,6,4,]
# # #删除索引为1-3的元素
# # del  l16[1:4]
# # print(l16)
# #将列表中所以元素全部删除，用clear()
# l19=[1,3,6,'python']
# #删除列表
# l19.clear()
# print(l19)

#创建联系人
# name_list =[]
# phone_list=[]
# while 1:
#     print('菜单:1.添加联系人2.修改联系人3.删除联系人')
#     chion =input("请输入选择：")
#     if chion=="1":
#         name_list.append(input("请输入联系人姓名："))
#         phone_list.append(input("请输入联系人手机号3"))
#         print(name_list)
#         print(phone_list)
#     elif chion=="2":
#         num=int(input("请输入联系人编号："))
#         if len(name_list)>0 and num<=input(name_list):
#             name_list[num -1]=input("修改联系人姓名")
#             name_list[num-1]=input("修改联系人电话")
#         else:
#             print("修改联系人编号输入有误")
#     elif chion=="3":
#         num =int(input("请输入联系人编号"))
#         if len(name_list)>0 and num<=input(name_list):
#             name_list.pop(num-1)
#             phone_list.pop(num-1)
#         else:
#             print("修改联系人编号输入有误")
#     else:
#         print("显示联系人信息")
#         print(name_list)
#         print(phone_list)
#查寻元素
# l1=[1,3,4,6,7,9,11,31,4,7]
# print(l1.index(4))
# print(l1.index(4,4))
# print(l1.index(9,4,8))
# print(l1.index(0))#报错

#count()方法来统计元素在列表上出现的次数
# l2=[1,3,4,1,3,4,1,3,'j','h','f','h']
# print(l2.count(1))
# print(l2.count(2))
# print(l2.count('h'))

##元素的排序 sort（）函数用于对原始列表进行排序
##元素是字符串的排序
# l3=['1','2','3','4','55','25','17','34']
#默认升序
# l3.sort()
# print(l3)
# #降序
# l3.sort(reverse=True)
# print(l3)
# ##元素是数值的排序
# l4=[1,6,7,32,4,1,4,48,98,1,5165,47]
# #默认升序
# l4.sort()
# print(l4)
#降序
# l4.sort(reverse=True)
# print(l4)


#字典 dict
#字典的创建
#使用字符串作为key
# d1={"数学":90,"英语":90,"语文":52}
# print(d1)
# #使用元组和数字作为key
# d2={(20,30):"gieat",30:[1,2,3]}
# print(d2)
# #创建空元组
# d3={}
# print(d3)
#
# #使用dict（）方法通过关键字创建字典
# d5=dict(数学=90,英语=80,语文=50)
#
d5={'数学':95,'英语':92,'语文':84}
print(d5['英语'])
print(d5['python'])
d6={'数学':95,'英语':92,'语文':84}
print(d6.get('语文'))
print(d6.get('python'))
print(d6.get('python','该键不存在'))

d7={'数学':95,'英语':92,'语文':84,'python':99}
d7['可视化']=99
print(d7)

d8={'数学':95,'英语':92,'语文':84,'python':99}
d8['英语']=100
print(d8)


d9={'数学':95,'英语':92,'语文':84,'python':99}
del d9['语文']
print(d9)

d9.pop('英语')
print(d9)

